之前有介紹過,大略就是有人在通訊中偽造身分,以此來偷取、竄改訊息
能透過安全的憑證來避免,但還是有可能有憑證被偷或偽造的可能
網路上做加密通訊的時候,使用哪種演算法,選擇怎樣的參數是雙方需要達成的共識,
假如Alice要和Bob通訊,Alice先跟Bob說她有AES-128、AES-256兩種AES能用,由於AES-128有被破解的可能,
所以應該要使用更安全的AES-256,但有一個攻擊者Eve攔截到了這則訊息,而且加密通訊尚未建立,所以沒有加密,
Eve就把AES-256給她刪了只留AES-128到Bob手上,而Bob也沒去確認,就用了有安全風險的AES-128,而Eve要去破解這次的加密機率就更高了
1.拒絕向下兼容,也就是說不是最新的可是不用的
2.從一開始就加密
3.去驗證是否不支援新的加密協定
在RSA和離散對數都有的數學問題,是一種不安全的質數,在使用時要避免
對於RSA的n=pq時,當p、q為光滑數時能用pollard p-1去分解n使加密被破
對於離散對數問題,勿論是橢圓曲線離散對數還是一般數域的離散對數都可能被Pohlig–Hellman給破解
如果RSA中的私鑰就會被Wiener's attack攻擊
就是隨機秘密k被重複簽屬不同的原文
簽章為(r,s1)、(r,s2)那麼
k=(s1-s2)^-1(e1-e2) mod n,其中e1,e2是原文的hash_value
而私鑰d就會洩漏
d=r^-1(ks-e) mod n